home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 2.2 KB | 59 lines |
- 100 CLS :REM"OPTIMUM"
- 110 PRINT TAB(10);"****OPTIMUM TERMINATIONS for an INHERENTLY STABLE DEVICE****"
- 120 REM J.SCHOENWALD-1982
- 130 PRINT :PRINT "NOTE: Z=Real +-Jx & Y=1/Z with G,CONDUCTANCE +-B,SUSCEPTANCE"
- 140 PRINT :PRINT TAB(8);"Yi=Y11=INPUT ADMITTANCE
- 150 PRINT :PRINT TAB(8);"Yr=Y12=REVERSE TRANSFER ADMIT."
- 160 PRINT :PRINT TAB(8);"Yf=Y21=FOWARD TRANSFER ADMIT."
- 170 PRINT :PRINT TAB(8);"Yo=Y22=OUTPUT ADMITTANCE"
- 180 REM DIM G(2,2),B(2,2)
- 190 PRINT :PRINT "ENTER DEVICE Y-PARAMETERS in (mmhos)"
- 200 PRINT :BEEP :INPUT "Y11 gi= ";AA :G(1,1)=AA/1000
- 210 BEEP :INPUT " bi= ";BB :B(1,1)=BB/1000
- 220 BEEP :INPUT "Y12 gr= ";CC :G(1,2)=CC/1000
- 230 BEEP :INPUT " br= ";DD :B(1,2)=DD/1000
- 240 BEEP :INPUT "Y21 gf= ";EE :G(2,1)=EE/1000
- 250 BEEP :INPUT " bf= ";FF :B(2,1)=FF/1000
- 260 BEEP :INPUT "Y22 go= ";GG :G(2,2)=GG/1000
- 270 BEEP :INPUT " bo= ";HH :B(2,2)=HH/1000
- 280 P=G(1,2)*G(2,1)-(B(1,2)*B(2,1))
- 290 Q=G(1,2)*B(2,1)+(G(2,1)*B(1,2))
- 300 M=SQR(P^2+Q^2)
- 310 C=M/(2*G(1,1)*G(2,2)-P)
- 320 IF C<1 THEN IF C>0 THEN 350
- 330 PRINT :PRINT "DEVICE POTENTIALLY UNSTABLE!!"
- 340 PRINT :PRINT "LINVILL STABILITY FACTOR C=";INT(C*1000)/1000 :GOTO 640
- 350 PRINT :PRINT "LINVILL STABILITY FACTOR C=";INT(C*1000)/1000
- 360 GS=SQR((2*G(1,1)*G(2,2)-P)^2-M^2)/2/G(2,2)
- 370 BS=-B(1,1)+(Q/2/G(2,2))
- 380 GL=GS*G(2,2)/G(1,1)
- 390 BL=-B(2,2)+(Q/2/G(1,1)) :PRINT
- 400 PRINT "GS (mmhos)=";INT(GS*1E+06)/1000
- 410 PRINT "BS (mmhos)=";INT(BS*1E+06)/1000
- 420 PRINT "GL (mmhos)=";INT(GL*1E+06)/1000
- 430 PRINT "BL (mmohs)=";INT(BL*1E+06)/1000
- 440 YFM2=G(2,1)^2+B(2,1)^2
- 450 R1=(G(1,1)+GS)*(G(2,2)+GL)-(B(1,1)+BS)*(B(2,2)+BL)
- 460 I1=(G(1,1)+GS)*(B(2,2)+BL)+(B(1,1)+BS)*(G(2,2)+GL)
- 470 DEN=(R1-P)^2+(I1-Q)^2
- 480 GT=4*GS*GL*YFM2/DEN :GTDB=10*(LOG(GT)/LOG(10))
- 490 PRINT :PRINT USING "GT=##.## DB";GTDB
- 500 PRINT :BEEP :PRINT "HARD COPY REQUIRED? (Y/N)"
- 510 P$=INKEY$ :IF P$="" THEN 510
- 520 IF P$="Y" THEN 540
- 530 IF P$<>"N" THEN 510 ELSE 640
- 540 LPRINT TAB(27);"***OPTIMUM TERMINATIONS***"
- 550 GS=GS*1000 :BS=BS*1000 :GL=GL*1000 :BL=BL*1000
- 560 LPRINT :LPRINT TAB(10);"LINVILL STABILITY FACTOR C =";INT(C*1000)/1000;
- 570 LPRINT "; GT=";INT(GTDB*100)/100;"DB"
- 580 LPRINT TAB(14);"(mmhos)";TAB(41);"(mmhos)"
- 590 LPRINT TAB(10);"gi=";AA;TAB(18);"; bi=";BB;TAB(40);"GS=";INT(GS*1000)/1000
- 600 LPRINT TAB(10);"gr=";CC;TAB(18);"; br=";DD;TAB(40);"BS=";INT(BS*1000)/1000
- 610 LPRINT TAB(10);"gf=";EE;TAB(18);"; bf=";FF;TAB(40);"GL=";INT(GL*1000)/1000
- 620 LPRINT TAB(10);"go=";GG;TAB(18);"; bo=";HH;TAB(40);"BL=";INT(BL*1000)/1000
- 630 CLOSE LPT1
- 640 PRINT :BEEP :PRINT "CONTINUE? (Y/N)"
- 650 A$=INKEY$ :IF A$="" THEN 650
- 660 IF A$="Y" THEN 100
- 670 IF A$<>"N" THEN 650 ELSE END
-